package com.whfc.hdc.dao;

import com.whfc.hdc.dto.AppDevicePlatformDTO;
import com.whfc.hdc.entity.AppDevicePlatform;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface AppDevicePlatformMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(AppDevicePlatform record);

    int insertSelective(AppDevicePlatform record);

    AppDevicePlatform selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(AppDevicePlatform record);

    int updateByPrimaryKey(AppDevicePlatform record);

    /**
     * 查询所有
     *
     * @return
     */
    List<AppDevicePlatformDTO> selectAll();

    /**
     * 根据设备类型查找
     *
     * @param deviceType
     * @return
     */
    List<AppDevicePlatformDTO> selectByDeviceType(@Param("deviceType") Integer deviceType);

    /**
     * 根据设备类型和平台查找
     *
     * @param deviceType
     * @param platform
     * @return
     */
    AppDevicePlatformDTO selectByDeviceTypeAndPlatform(@Param("deviceType") Integer deviceType, @Param("platform") String platform);

    /**
     * 逻辑删除
     *
     * @param deviceType
     * @param platform
     * @return
     */
    int logicDeleteByDeviceTypeAndPlatform(@Param("deviceType") Integer deviceType, @Param("platform") String platform);

    /**
     * 根据平台和设备类型更新
     *
     * @param platformDTO
     */
    void updateByDeviceTypeAndPlatform(@Param("platformDTO") AppDevicePlatformDTO platformDTO);
}